package com.weiyuwqj.api.model;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Table(name = "bus_account_log")
public class BusAccountLog implements Serializable {
    /**
     * 主键
     */
    @Id
    private Integer id;

    /**
     * 用户id	
     */
    @Column(name = "user_id")
    private Integer userId;

    /**
     * 操作类型	见数据字典中定义的操作类型
     */
    @Column(name = "oper_type")
    private String operType;

    /**
     * 操作金额
     */
    @Column(name = "oper_money")
    private BigDecimal operMoney;

    /**
     * 总金额
     */
    private BigDecimal total = BigDecimal.ZERO;

    /**
     * 可用金额
     */
    private BigDecimal usable = BigDecimal.ZERO;

    /**
     * 冻结金额
     */
    private BigDecimal frozen = BigDecimal.ZERO;

    /**
     * 待收金额
     */
    private BigDecimal wait = BigDecimal.ZERO;

    /**
     * 待还金额
     */
    private BigDecimal repay = BigDecimal.ZERO;

    /**
     * 交易对方
     */
    @Column(name = "trade_user_id")
    private Integer tradeUserId = 0;

    /**
     * 添加时间
     */
    private Date addtime;

    /**
     * 添加ip
     */
    private String addip;

    /**
     * 备注
     */
    private String remark;

    private BigDecimal cash= BigDecimal.ZERO;

    @Column(name = "budget_type")
    private Integer budgetType;

    public Integer getBudgetType() {
        return budgetType;
    }

    public void setBudgetType(Integer budgetType) {
        this.budgetType = budgetType;
    }

    public BigDecimal getCash() {
        return cash;
    }

    public void setCash(BigDecimal cash) {
        this.cash = cash;
    }

    /**
     * 获取主键
     *
     * @return id - 主键
     */
    public Integer getId() {
        return id;
    }

    /**
     * 设置主键
     *
     * @param id 主键
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取用户id
     *
     * @return user_id - 用户id
     */
    public Integer getUserId() {
        return userId;
    }

    /**
     * 设置用户id
     *
     * @param userId 用户id
     */
    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    /**
     * 获取操作类型	见数据字典中定义的操作类型
     *
     * @return oper_type - 操作类型	见数据字典中定义的操作类型
     */
    public String getOperType() {
        return operType;
    }

    /**
     * 设置操作类型	见数据字典中定义的操作类型
     *
     * @param operType 操作类型	见数据字典中定义的操作类型
     */
    public void setOperType(String operType) {
        this.operType = operType;
    }

    /**
     * 获取操作金额
     *
     * @return oper_money - 操作金额
     */
    public BigDecimal getOperMoney() {
        return operMoney;
    }

    /**
     * 设置操作金额
     *
     * @param operMoney 操作金额
     */
    public void setOperMoney(BigDecimal operMoney) {
        this.operMoney = operMoney;
    }

    /**
     * 获取总金额
     *
     * @return total - 总金额
     */
    public BigDecimal getTotal() {
        return total;
    }

    /**
     * 设置总金额
     *
     * @param total 总金额
     */
    public void setTotal(BigDecimal total) {
        this.total = total;
    }

    /**
     * 获取可用金额
     *
     * @return usable - 可用金额
     */
    public BigDecimal getUsable() {
        return usable;
    }

    /**
     * 设置可用金额
     *
     * @param usable 可用金额
     */
    public void setUsable(BigDecimal usable) {
        this.usable = usable;
    }

    /**
     * 获取冻结金额
     *
     * @return frozen - 冻结金额
     */
    public BigDecimal getFrozen() {
        return frozen;
    }

    /**
     * 设置冻结金额
     *
     * @param frozen 冻结金额
     */
    public void setFrozen(BigDecimal frozen) {
        this.frozen = frozen;
    }

    /**
     * 获取待收金额
     *
     * @return wait - 待收金额
     */
    public BigDecimal getWait() {
        return wait;
    }

    /**
     * 设置待收金额
     *
     * @param wait 待收金额
     */
    public void setWait(BigDecimal wait) {
        this.wait = wait;
    }

    /**
     * 获取待还金额
     *
     * @return repay - 待还金额
     */
    public BigDecimal getRepay() {
        return repay;
    }

    /**
     * 设置待还金额
     *
     * @param repay 待还金额
     */
    public void setRepay(BigDecimal repay) {
        this.repay = repay;
    }

    /**
     * 获取交易对方
     *
     * @return trade_user_id - 交易对方
     */
    public Integer getTradeUserId() {
        return tradeUserId;
    }

    /**
     * 设置交易对方
     *
     * @param tradeUserId 交易对方
     */
    public void setTradeUserId(Integer tradeUserId) {
        this.tradeUserId = tradeUserId;
    }

    /**
     * 获取添加时间
     *
     * @return addtime - 添加时间
     */
    public Date getAddtime() {
        return addtime;
    }

    /**
     * 设置添加时间
     *
     * @param addtime 添加时间
     */
    public void setAddtime(Date addtime) {
        this.addtime = addtime;
    }

    /**
     * 获取添加ip
     *
     * @return addip - 添加ip
     */
    public String getAddip() {
        return addip;
    }

    /**
     * 设置添加ip
     *
     * @param addip 添加ip
     */
    public void setAddip(String addip) {
        this.addip = addip;
    }

    /**
     * 获取备注
     *
     * @return remark - 备注
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 设置备注
     *
     * @param remark 备注
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

}